package com.sc.reducer;

import java.io.IOException;

import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;

/**
 * 
 * @Description TODO
 * @author pengjun
 * @version v1.0
 * @date 2020年7月9日
 * Mapper阶段的输出，即Reducer阶段的输入（中间经过了mr框架的shuffle混洗）
 * 第一个参数：单词	比如：hello
 * 第二个参数：单词出现的次数集合		比如：<1,1,1,1,1,1,1>
 * 第三个参数：输出单词	上面统计的单词
 * 第四个参数：输出单词出现的次数		比如上面统计的单词次数为7
 */
public class WordCountReducer extends Reducer<Text, LongWritable, Text, LongWritable> {

	@Override
	protected void reduce(Text arg0, Iterable<LongWritable> arg1,
			Reducer<Text, LongWritable, Text, LongWritable>.Context arg2) throws IOException, InterruptedException {
		// TODO Auto-generated method stub
		long count = 0;
		for (LongWritable num : arg1) {
			count += num.get();
		}
		arg2.write(arg0, new LongWritable(count));
	}
}
